use std::cmp::min;
pub fn dp_rec_mc(amount: u32) -> u32 {
    // TODO: 这里写逻辑
    let w = [1, 2, 5, 10, 20, 30, 50, 100];
    let mut f = vec![u32::MAX; (amount + 1) as usize];
    f[0] = 0;
    for &x in &w {
        for j in x as usize..=amount as usize {
            f[j] = min(f[j], f[j - (x as usize)] + 1)
        }
    }
    f[amount as usize]
}
